//全局变量版本
let temp; 
let obj = {a:1}
defineReactive(obj,"a")
function defineReactive(obj,key) {
    Object.defineProperty(obj,key,{
        get () {
            console.log("调用get方法，temp",temp)
            // console.log("obj[key]",obj[key]) //为什么不直接用 obj[key] 因为又会死循环重复调用get 
            return temp
        },
        set (val) {
            console.log("调用set方法，val",val)
            temp = val
            return 
        }
    })
}

obj.a
obj.a = 2
obj.a

//调用get方法，temp undefined
//调用set方法，val 2
//调用get方法，temp 2 